package com.uvnos4j.matilda.commons.domain;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.uvnos4j.matilda.commons.utils.Const;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 基础领域对象
 * <p>
 * Description:基础领域对象，继承自Id领域对象，额外提供了 createTime 和 updateTime。
 * </p>
 *
 * @author Guo.wl
 * @version v1.0.0
 * @see com.uvnos4j.matilda.commons.domain
 * @since 2020-08-31 22:27:24
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BaseDomain extends IdDomain {

    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = Const.GLOBAL_TIME_ZONE)
    protected Date createTime;

    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN, timezone = Const.GLOBAL_TIME_ZONE)
    protected Date updateTime = DateTime.now();

}